The disclosure relates to the field of computer systems, and, more particularly, to computer systems using random numbers.
Digital computers can require large numbers of high quality, random numbers in many applications like security, game type simulations and diverse areas of computational modeling of biology, finance, and nuclear breakdown. However, random physical processes that could produce strings of random numbers are essentially incompatible with standard computers that are essentially deterministic, finite-state devices. As such, several options are used although all have serious limitations.
Pseudo-random number (PRN) generators are the most common approach to generate bases for chaotic systems of equations. The number calls to these random number generating functions can be very high and force a surprising large number of floating point operations (sometimes consuming near 100% of CPU time). However these pseudo-random approaches are deterministic and require seed numbers that may be hard to “randomly” produce, especially in large quantities (e.g., typical approaches based on calendar or clock times do not work in massively parallel machines with very large numbers of cores running parallel). In some cases, the seed can be reverse engineered so that pseudo-random becomes worthless for security or encryption applications. Interesting, the deterministic nature of the pseudo-random number generator have the ability to exactly reproduce a stochastic simulation—a feature that is favored by some computational researchers that may need debug a code or validate a particular result with the same “random” input.
Analogue random number (ARN) generators are based on noisy systems that are then used to generate random strings of bits. While ARN's potentially may generate more random numbers than PRN's, downsides include high power costs and difficulties in constructing and tuning analogue circuits on digital silicon chips. One company has recently patented circuit designs of the ARN type, while another company's 10 year research program recently switched from ARN circuits to digital approaches that have lower power consumption and few fabrication problems.
Many chaotic physical systems can be used to generate streams of high-quality random numbers, e.g., precomputed random numbers (PCRN). For example, random numbers can be generated from radioactive break down or even lava lamps, e.g., random number generator that worked by taking pictures of the patterns made by the floating material in lava lamps, extracting random data from the pictures, and using the result to seed a pseudo-random number generator. The main downside of these approaches is the limitation of producing large enough quantities of good random numbers and making them available for digital calculations.